package com.wicket.okrapp.integration.dto;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc ImplementSegQueryExecuteCycleComReqDto
 * @使用场景
 */
@Data
public class ImplementSegQueryExecuteCycleComReqDto
  extends BaseDto
  implements Serializable {

  /**
   * 数据对象表名
   */
  @NotNull(message = "数据对象表名不能为空")
  @ApiModelProperty("数据对象表名")
  private String businessDataSetTableName;

  /**
   * 数据条数
   */
  @NotNull(message = "数据条数不能为空")
  @ApiModelProperty("数据条数")
  private Long datasNum;

  /**
   * 排序字段名
   */
  @NotNull(message = "排序字段名不能为空")
  @ApiModelProperty("排序字段名")
  private String orderFieldName;

  /**
   * 排序规则 FROM_LARGE_TO_SMALL:数据值从大到小 FROM_SMALL_TO_LARGE:数据值从小到大
   */
  @NotNull(message = "排序规则不能为空")
  @ApiModelProperty("排序规则")
  private String orderRule;

  /**
   * 最后一条数据对象ID
   */
  @ApiModelProperty("最后一条数据对象ID")
  private String lastDataObjectId;

  /**
   * 周期开始时间
   */
  @ApiModelProperty("周期开始时间")
  private Date cycleStartTime;

  /**
   * 时间字段规则1
   */
  @ApiModelProperty("周期开始时间查询规则")
  private String comTimeFieldRule1;

  /**
   * 周期结束时间
   */
  @ApiModelProperty("周期结束时间")
  private Date cycleEndTime;

  /**
   * 时间字段规则2
   */
  @ApiModelProperty("周期结束时间查询规则")
  private String comTimeFieldRule2;

  /**
   * 关联目标内容类型编码
   */
  @ApiModelProperty("关联目标内容类型编码")
  private String relateContentTypeCode;

  /**
   * 关联目标内容ID
   */
  @ApiModelProperty("关联目标内容ID")
  private String relateContentId;

  /**
   * 评价模板ID
   */
  @ApiModelProperty("评价模板ID")
  private String evaluationTemplateId;

  /**
   * 主体生命周期
   */
  @ApiModelProperty("主体生命周期")
  private String subjectLifeCycle;

}
